<template>
    <div>
        <!-- 顶部滑动条区域 -->
        <div id="slider" class="mui-slider">
            <div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
                <div class="mui-scroll">
                    <a :class="['mui-control-item', item.id == 0 ? 'mui-active' : '']"
                        v-for="item in cates" :key="item.id" @tap="getPhotoListByCateId(item.id)">
                        {{ item.title }}
                    </a>
                </div>
            </div>
        </div>

        <!-- 图片列表区域 -->
        <ul class="photo-list">
            <router-link v-for="item in list" :key="item.id" :to="'/home/photoinfo/' + item.id" tag="li">
                <img v-lazy="item.img_url">
                <div class="info">
                    <h1 class="info-title">
                        {{ item.title }}
                    </h1>
                    <div class="info-body">
                        {{ item.zhaiyao }}    
                    </div>                    
                </div>
            </router-link>
        </ul>
    </div>
</template>

<script>
    // 导入mui的js文件
    // 导入之后控制台报错，可能是该js中使用的，默认是启用严格js模式，所以导致报错
    // 解决方案：
    // 1.把mui的js文件中的非严格模式的代码改掉
    // 2.将bundle的js文件的严格模式禁用掉
    // 2.1 npm i babel-plugin-transform-remove-strict-mode
    // 2.2 然后更改对应的babelr文件，加入对应的配置
    import mui from '../../lib/mui/js/mui.js';
    
    export default {
        data(){
            return {
                // 所有分类的数组
                cates: [],
                list: []
            }
        },
        // 如果操作元素，最好是在这里
        // 当组建中的DOM结构被渲染好并放入到页面中，会执行这个钩子函数
        mounted() {
            // 初始化滑动控件
            mui('.mui-scroll-wrapper').scroll({
                deceleration: 0.0005 //flick减速系数，系数越大，滑动速度越慢，滑动距离越小默认值是0.0006
            });
        },
        methods:{
            created() {
                this.getAllCategory();
                // 默认加载第一个
                this.getPhotoListByCateId(0);
            },
            // 获取所有的图片分类
            getAllCategory(){
                this.$http.get('api/getimgcategory').then(result => {
                    if(result.body.status == 0){
                        // 手动拼接处一个最完整的分类列表
                        result.body.message.unshift({
                            title: '全部',
                            id: 0
                        });
                        this.cates = result.body.message;
                    }
                });
            },
            getPhotoListByCateId(cateId){
                //根据分类ID获取图片列表
                this.$http.get('/api.getimages/' + cateId).then( result => {
                      if(result.body.status == 0){
                          this.list = result.body.message;
                      }  
                });
            }
        }
    }
</script>

<style lang="scss" scoped>
    * {
        touch-action: pan-y;
    }

    .photo-list{
        list-style: none;
        margin: 0;
        padding: 10px;
        padding-bottom: 0;
        li{
            background-color: #ccc;
            text-align: center;
            margin-bottom: 10px;
            box-shadow: 0 0 9px #999;
            position: relative;
            img{
                width: 100%;
                vertical-align: middle;
            }
            img[lazy="loading"]{
                width: 40px;
                height: 300px;
                margin: auto;
            }
        }
    }

    .info{
        color: white;
        text-align: left;
        position: absolute;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.4);
        max-height: 84px;
        .info-title{
            font-size: 14px;
        }
        .info-body{
            font-size: 13px;
        }
    }
</style>